iT邦幫忙

2025 iThome 鐵人賽

DAY 1
0
自我挑戰組

課程公告與課表管理系統系列 第 1

專案啟動與資料庫設計

  • 分享至 

  • xImage
  •  
  1. 專案目標
    正式啟動「課程公告與課表管理系統」的 30 天挑戰。
    這個系統的核心理念是集中管理補習班的課程資訊、教師資料與異動公告,避免資訊分散在 LINE 群組、紙本公告或口頭通知,讓學員與教師都能即時掌握最新的課程變化。
    主要功能方向:
    課程週/月檢視
    公告與異動通知(Email、LINE、Web Push)
    教師與教室資訊查詢
    行動裝置友善的 RWD 設計
  2. 今日重點工作
    (1) 技術使用
    前端:Vue.js
    後端:Node.js (Express)
    資料庫:MySQL
    (2) 資料庫設計
    今天完成了資料庫的核心 Schema 設計,涵蓋了使用者管理、課程與公告、通知系統等模組,方便後續開發直接使用。

主要資料表與功能:

Roles / Users
管理使用者角色(admin/student/instructor)與帳號資訊,密碼以 Hash 方式儲存。

Cohorts / Enrollments
管理班級期別及學員的選課關係,支援多對多關聯。

Sessions / SessionChanges
每一堂課的安排與異動紀錄,支援狀態(scheduled, changed, cancelled, done)。

Announcements / AnnouncementTargets
公告內容與投放範圍(全站 / 班級 / 單堂課)。

Notifications / ReadReceipts
通知發送與已讀追蹤。

Instructors / Rooms
講師與教室資料。

Attachments
公告與課程的附件管理(檔案上傳 / 連結)。

RecurringSessions / SessionOccurrences
重複課程規則與實際展開的課次。

Tags / EntityTags
公告與課程的標籤系統。

這樣的結構可以讓系統支援:

課程表生成

異動追蹤

精準通知

彈性擴充(未來加新功能不會大幅改動資料表)


下一篇
Day 2 – 開發環境初始化與資料庫連線測試
系列文
課程公告與課表管理系統3
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
Wolke
iT邦研究生 4 級 ‧ 2025-10-10 17:06:11

版主您好!

看到「課程公告與課表管理系統」專案的啟動,非常期待!這個目標能有效解決資訊分散的問題,讓學員和教師都能即時掌握資訊,真的很實用。技術棧選用 Vue.js、Node.js 與 MySQL,也是業界主流且成熟的選擇,相信能有效率地推動開發。

資料庫 Schema 設計得非常詳盡且有彈性,特別是像「RecurringSessions / SessionOccurrences」這類複雜情境,您都已考量並規劃,是很扎實的基礎!期待後續的開發進度分享,30天挑戰加油!

也歡迎版主有空參考我的系列文「南桃AI重生記」:
https://ithelp.ithome.com.tw/users/20046160/ironman/8311

我要留言

立即登入留言